{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--NAVIGATION-->\n",
    "< [自定义颜色条](04.07-Customizing-Colorbars.ipynb) | [目录](Index.ipynb) | [文本和标注](04.09-Text-and-Annotation.ipynb) >\n",
    "\n",
    "<a href=\"https://colab.research.google.com/github/wangyingsm/Python-Data-Science-Handbook/blob/master/notebooks/04.08-Multiple-Subplots.ipynb\"><img align=\"left\" src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open in Colab\" title=\"Open and Execute in Google Colaboratory\"></a>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Multiple Subplots\n",
    "\n",
    "# 多个子图表"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Sometimes it is helpful to compare different views of data side by side.\n",
    "To this end, Matplotlib has the concept of *subplots*: groups of smaller axes that can exist together within a single figure.\n",
    "These subplots might be insets, grids of plots, or other more complicated layouts.\n",
    "In this section we'll explore four routines for creating subplots in Matplotlib.\n",
    "\n",
    "在一些情况中，如果能将不同的数据图表并列展示，对于我们进行数据分析和比较会很有帮助。Matplotlib提供了*子图表*的概念来实现这一点：单个图表中可以包括一组小的axes用来展示多个子图表。这些子图表可以是插图，网格状分布或其他更复杂的布局。在本节中我们会介绍Matplotlib中用来构建子图表的四个函数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "plt.style.use('seaborn-white')\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## ``plt.axes``: Subplots by Hand\n",
    "\n",
    "## `plt.axes`：手动构建子图表\n",
    "\n",
    "> The most basic method of creating an axes is to use the ``plt.axes`` function.\n",
    "As we've seen previously, by default this creates a standard axes object that fills the entire figure.\n",
    "``plt.axes`` also takes an optional argument that is a list of four numbers in the figure coordinate system.\n",
    "These numbers represent ``[left, bottom, width, height]`` in the figure coordinate system, which ranges from 0 at the bottom left of the figure to 1 at the top right of the figure.\n",
    "\n",
    "构建axes作为子图表的最基础方法就是使用`plt.axes`函数。正如我们前面已经看到，默认情况下，这个函数够创建一个标准的axes对象填满整个图表区域。`plt.axes`函数也可以接收一个可选的列表参数用来指定在axes在整个图表中的坐标点位置。列表中有四个数值分别为`[left, bottom, width, height]`（取值都是0-1），代表着子图表的左边、底部、宽度、高度在整个图表中左边、底部、宽度、高度所占的比例值。\n",
    "\n",
    "> For example, we might create an inset axes at the top-right corner of another axes by setting the *x* and *y* position to 0.65 (that is, starting at 65% of the width and 65% of the height of the figure) and the *x* and *y* extents to 0.2 (that is, the size of the axes is 20% of the width and 20% of the height of the figure):\n",
    "\n",
    "例如，我们可以在距离左边和底部65%的位置，以插图的形式放置一个宽度和高度都是20%子图表，上述数值应该为`[0.65, 0.65, 0.2, 0.2]`："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax1 = plt.axes()  # 标准图表\n",
    "ax2 = plt.axes([0.65, 0.65, 0.2, 0.2]) #子图表"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> The equivalent of this command within the object-oriented interface is ``fig.add_axes()``. Let's use this to create two vertically stacked axes:\n",
    "\n",
    "与上述等价的面向对象接口的语法是`fig.add_axes()`。我们使用这个方法来创建两个垂直堆叠的子图表："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAECCAYAAAAW+Nd4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3dd1yVdf/H8ddhb0RkiChOvg4EFbfmSG2p5a7UTMv2tmV7Z2W2tLu602yZI3dZWpq5cwOK+gW3oKiIoiKb8/sDvG9ufpZ64HCd8Xk+HjzkXNeB630hfM51vtd3mMxmM0IIIZyLi9EBhBBCVD8p/kII4YSk+AshhBOS4i+EEE5Iir8QQjghN6MOrJTyBNoBx4Bio3IIIYSDcgVqA5u11vkVdxpW/Ckt/GsMPL4QQjiDa4C1FTcaWfyPAcyYMYPw8HADYwghhOPJyMhgxIgRUFZrKzKy+BcDhIeHExkZaWAMIYRwaJdsVpcbvkII4YSk+AshhBOS4i+EEE6oUm3+SqkYYBHwodZ6SoV9vYG3KW1v+kVr/UZljiWEEKLqWHzlr5TyBSYDK/7mKZ8Ag4EuwI1KqeaWHksIIUTVqkyzTz5wE3C04g6lVEMgS2t9RGtdAiwBelXiWA7HbDaTV1jMibN5HDqVQ1FxidGRhDCE2WymqLiE4hIzJSVmZJr56mFxs4/WuggoUkpdanc4cLLc4wygkaXHsmdms5kd6dnM35bO9sOnOZtXxNncQs7lFVFQruD7e7rRtn4QHRsG07FhMC0iAnBzlVsywjFdKChiTWomy3cdZ6U+Qeb5gv/3HJMJ/Dzc6KZCuK55GD2bhhLg5W5AWsdkrX7+pks8dqqX82PZuSzcfpR529LYe+I8Hm4utKsfRL1gX/y93AjwcifA2w1/L3c8XE0kpmWzcf8pVurS10w/Tzfa1Q/ixpa1GdwmEleXij9SIezLibN5LN99guW7j7N2byYFRSX4e7nRU4XSONQPsxnMmEv/NZsxAyfO5rNizwmWJB3D3dVEp0a1uK55GNc1DyM0wMvoU7Jr1ir+6ZRe/V9Uh78ZZeZIzGYzS3YcY9amI6zbl4nZDG2jgnh7YEv6xtYm0Pvvr1pubVf674lzeWzcn8XGA6dYv/cUz8xNYuqa/Yy/sSk9VSgmk7wICPuSfaGQSb9rvv/rECVmqFvTmxEd6tGnWRjtGtTE/TLvcItLzCQcOc1vycdZlpzBiwt38uLCndwcF8GLfZvJi4CFrFL8tdYHlVIBSqn6QBrQDxhhjWPZivQzuYyfl8Sa1Ewig7x55NomDGpdh/q1fK/q+4T6e9E/LoL+cRGYzWaWJWfw7lLNXV9voVPDYJ67qSmxkTWsdBZCVJ2SEjPztqXxzq97OH2hgJEdoxjZMYomoX5XdRHj6mIiPqom8VE1GX9jU1JPnGfB9nSmrT3AH3tO8OR10dzRMUqaSa+SydKbK0qpeGASUB8opPRqfzFwQGu9QCnVDXi37OnztNbvV/j6+sCBFStW2PX0DmazmR82HebtJbsxA+NvbMrIDlG4VGEzTWFxCTM3Hebj5amcying5rgInr5eUbemT5UdQ4iqlHw0m5cXJbP10Gnio4J4/ZYWtIgIrNJjHMjM4ZXFyaxOOUnz2gG8OTCGNvWCqvQY9iwtLY1evXoBNNBaH6y43+LiX1mOUPyPZF1g/Pwk1u09RedGwbw7ONaqBflcXiFfrNrP1LX7KTHDhIEtGRxvnz874Ziycwv54DfNd38dIsjHg/E3NmVwm8gqvRgqz2w28+vODF7/aRcZZ/O4vX1dnrm+KUG+HlY5nj25XPE3cmI3u1VSYmbGxkNM+HUPLiYTbw9sye3t61q9Pd7fy52nrleM7BjFE7MTePLHRFKOn+OZG5rKDWFhuIOZOYyevonDWRcY2TGKJ/soAn2s2zvHZDJxU8vadIsO4ePlKXy17iDLd59g+uh2xNSp2ncajkYaya5SQVEJj89O4KVFybStX5NlT3RjeId61XojNjzQi2/vbs8dHaP4YvV+7vl2C+fyCqvt+EJUtPXQaQZ9tp7s3EJm39eJ12+JsXrhL8/P040X+jZn8cNd8HB1YdgXG/hTn6i249sjKf5XIbegmHu/28LixKM8fb3imzHtqFPD25As7q4uvDEghjcGxLAq5SSD/rWeQ6dyDMkinNvSnccY/uVf+Hu5Mf/BLrSrX9OwLC0iApn/YGfqB/ty9zdbmL35sGFZbJ0U/yuUnVvIHdM2sjrlJBMGteShno1totvlHR2j+O7u9pw8n88tn65j/b5MoyMJJzJt7QEemLGN5hEBzH+gMw2usnebNYQFeDHn/k50bhTMs/N28OHvKTJq+BKk+F+BE+fyuPWLDSSmnWHK8Dbc3r6e0ZH+R+dGtVj0UBdq+Xkyatom5m1NMzqScHDFJWZe+ymZN37exfXNw5l5T0eC/TyNjvUffp5ufDW6HUPjI/l4RSrPzE2iUKZQ+R9yw/cyjmRdYOS0jZw8l89Xo9txTZMQoyNdUlSwLwse7Mz932/l6bmJ+Hi4cmPL2kbHEg6ooKiER2duZ2lyBnd3bcDzNzWzyQ4H7q4uvDckloga3ny8IpWMs3l8PjIeX08peyBX/v9IZ5xj8GfrOXOhkBljO9hs4b/I38udL0e1pXW9IB6dtZ1VKScv/0VCXIWSEjPPzktiaXIGL/Vrzkv9mttk4b/IZDLxRJ9o3hscy/p9p7j/+60UFMk7AJDi/7cOn7rA8C//wmSCH+/vRGs7GTzi41H6drdxqD/3f7eVrYeyjI4kHMiEX3ezYHs6T1+vuLtrA6PjXLFh7eoyYWBL1qRmMn5ektwDQIr/JZ25UMDorzdRVGLmh3s6Eh3mb3SkqxLo7c63d7UnPNCL0dM3s+voWaMjCQfw5er9fLnmAHd2iuLBHvY3Se+wdnV56rpo5m9P592l2ug4hpPiX0F+UTH3freVtKxcvhzVlkYhfkZHskiIvyffj+2An6cbo77ayP6T542OJOzYgu1pvPXLbvq2rM3L/VvYRE83SzzUszF3dIzi81X7+GrtAaPjGEqKfzlms5ln5iax6UAWE4fG0r6Bcf2Vq0KdGt58d3cHzGYYOXUjR8/kGh1J2KFVKSd5+sckOjUM5oNb42y6jf9yTCYTr97cghtahPPGkl38nPT/1qJyGlL8y/ng9xQWJZQO4LqlVR2j41SJxqF+fHNXe87lFXHHtI2clZHA4iokHjnDA99vpUmYP1+MisfTzdXoSJXm6mLio9ta0S6qJuNmJzrt2Bgp/mXmbD7C5D/2clu7unbZnvlPYuoE8uWdbTl06gLjZidSUiI3u8TlHczMYczXm6np68E3Y9o51CpaXu6ufDmqLfVr+XDft1ud8r6YFH9gTepJnl+wg2ua1OKNATF22575Tzo2DOaFvs1Yvvs4n67ca3QcYeMuFBRx33dbMZvNfHtXe4dcMCXQx51v7mqPn5cbY7/ZzOmc/7+UpCNz+uK/98R5Hvx+G41D/fjXiDaXXVXIno3uXJ8BrSL4YHkKK2XSK/E3zGYzLyzYScqJc3xye2sa2mmnhytRO9Cbf9/RlszzBTw+O8Gp3hVbPNRNKfUh0JHStXkf01pvLrdvO5Bd7ukjtNbpFqe0ktyCYh6asQ0PNxe+Gt0Ofwd6W3spJpOJCYNi0cfP89jM7fz0SFeigo2fi0XYlhkbD7Ngezrj+kTb/MDGqtAyMpBXbm7OCwt2MmXlXh7t1cToSNXCostcpVR3oInWuhMwFphS8Tla6x7lPmyu8AO8srj06ubDW1sRYdDsnNXN28OVL0bGYzKZuO+7reQWFBsdSdiQxCNneP2nXfRQITzcs7HRcarN8Pb1GNS6Dh8uT2FNqnOMjLe0jaMXsBBAa70LCFJKBZTbb/OjouZtTWPOljQe7tmYbtGOf3VTXr1gHz6+rRX6+DnGz5fRjqLU6ZwCHpyxjRB/Tz4c1spqq2/ZIpPJxJsDY2gS6sdjsxKcolu0pcU/HCj/8ni8bNtFwUqpGUqpdUqpN5VSNvVbtPfEOV5cuJMODWrymJO8xauohwrlyT7RLEo4ytfrDxodRxispMTME3MSOHkun3+NaOOUyyD6eLjx2ch48guLefiHbQ4/B5Clxb9iMTdR2vZ/0fPAA0APoA0wyMLjVLkLBUU8OGMbPh6ufHJ7a9wc+Abv5TzYozF9mofx5pLdbDkocwA5sykr9/KnPsnL/ZsTV7eG0XEM0yjEj/eGxLHt8Bkm/Lrb6DhWZWnlS+d/r/QjgIyLD7TWn2mtz2qtC4GfgVjLI1atVxYlk3riPB/d1oowB+y+djVcXExMGhZHZJA3j81KkAFgTmp1ykk+XJ7CwNZ1GNHBttaqMELf2NqM6VKf6esOsiTpmNFxrMbS4v8bMARAKdUaOKq1Plf2uJZS6hel1MWuM92BnZVOWgXmbk3jx61pPNKzsVP0YrgSAV7ufHhrKzLO5vHKomSj44hqdvJcPk/MTqBJqB9vDXTMMS6WeO7GZrSpV4Nn5iZyMNMxl0e1qPhrrdcDW5VS64HJwENKqdFKqYFa60xgJbBBKbWO0nsD86ossYVSjp/jxYU76NiwJo/1jjY6jk1pUy+IR69twoLt6SxKsMmOWcIKzGYz4+clcS6/iCnD2+DjIYucXOTh5sKU4W1wdTExbk4CRQ64CpjF/9ta6/EVNiWW2zcRmGjp965q+UXFPDpzO74ebnxyW2u7npjKWh7q2YjVqSd5ceFO4qOCiAzyMTqSsLKZm46wYs8JXu7X3O6mLa8OETW8eWNADI/NSuDzVft4+FrH6hziFHc7P1qeyp6Mc7w3JNYhh6lXBTdXFz4c1gqzGcbNSaTYiUY6OqMDmTm88fMuujauxejO9Y2OY7NuaVWH/nERfLQ8lR1p2Zf/Ajvi8MV/y8Esvli1j9va1aVXszCj49i0esE+vHZzCzYdyOKL1fuMjiOspKi4hCdmJ+DuamLi0Fin6s9viTdviaGWnyePz97uUIMiHbr45+QX8eSPiUTU8ObFfs2NjmMXBrWpQ9/Y2nzwW4rDXemIUp+u3EfCkTO8NbAltQOdY2R7ZQT6uPP+0Dj2nczh3aV7jI5TZRy6+L/9y24OZ11g0tA4/DzlZtaVMJlMvD2gJSH+njw2azsXCoqMjiSqUOKRM3zyRyq3tIqgf1yE0XHsRtcmtRjTpT5frz/I6hTHmP7BYYv/Sn2CGRsPc881DenQMNjoOHYl0MedScPiOHAqh7eWOPZAF2dyoaCIJ2YnEOrvyeu3xBgdx+48e0NTmoT68fTcRM5csP/pnx2y+J+5UMCzc5OIDvNjXB/p1mmJzo1qcc81DZmx8TBrU51zpSNH8/Yvu9mfmcOkoXEEejv2DLbW4OXuyoe3tiIrp4AXFu60+zmxHLL4v7hwJ1k5BXwwrBVe7va/7JxRxvWJplGIL8/OS+KcjP61a6tSTvL9X4cZ27UBnRvXMjqO3YqpE8jjvaNZknSMRQn2vf6vwxX/xYlH+TnpGI/3bkJMnUCj49g1L3dXJg6N41h2Lm//4jg3upzN2bxCxs9LonGoH09dr4yOY/fu796I+KggXlmczIlzeUbHsZhDFf8TZ/N4aeFOWterwf3dHWsdXqO0qRfEPdc0ZOYmaf6xVxN+2c3xs3lMHBIr74SrgKuLifeGxJJXWMyLC+y3+cdhir/ZbOaFhTvJKyxm0tA4p56ts6o9Ic0/dmttaiYzNx3hnmsa0rpekNFxHEajED+evC6a33Yd5yc7nfzNYSrk4sSj/L7rOE9eF+3Qa44aQZp/7NP5/CKenZdEwxBfnpCOD1Xu7q4NaVW3Bq8s2snJc/lGx7lqDlH8M8/n8+riZOLq1uDurg2NjuOQpPnH/kz4ZTdHs3OlucdKXF1MvD80lpyCYl5eZBMTF18Vhyj+ryxKJie/mPeHxMqkbVYkzT/2Y/3eTGZsPMzdXRoQH1XT6DgOq3GoP4/3bsKvOzPsbu5/uy/+v+44xpIdx3isdxOayMyEViXNP/YhJ7+IZ+Yl0aCWL09eJ717rO3eaxoSGxnIS4t2cuq8/TT/2HXxz8op4KVFO4mpE8C93aS5pzpI84/te3fpHtLP5PLekFi8PaS5x9rcXF2YOCSOc3mFvLLYfhZEsrj4K6U+VEptUEqtV0q1q7Cvt1JqU9n+lyof89Je/ymZMxcKeW9wHO7Su6faPNEnmoYhvoyfn0ROvsz9Y0s27DvFtxsOMbpzfdrVl+ae6qLC/XmsVxN+TjrG0p320fxjUcVUSnUHmmitOwFjgSkVnvIJMBjoAtyolKryKTWX7zrOwoSjPNSzMc0jAqr624t/4OXuynuDY0k/k8vEZdroOKLMhYLS3j1RwT48LYO5qt193RvRIiKAFxfu5HSO7c/9Y+nlci9gIYDWehcQpJQKAFBKNQSytNZHtNYlwJKy51eZ7AuFPL9gB03D/XmoZ+Oq/NbiCrWtX5M7O5XOcrjpQJbRcQTw/rIUDmdd4N3BsbIkowHcXV14f2gcZy4U8vrPu4yOc1mWFv9wStfmveh42bZL7csAalt4nEv6M+UEWTkFTBwSh4ebNPcY5ZkbFHVrevPsvCTyCh1nkQt7tPVQFtPXH+COjlF0lFlsDdOsdgAP9WzMgu3prNh93Og4/8jSylmxP6UJMF/BvirRPzaCtc9eS8tImbvHSD4ebrwzKJYDmTl8+HuK0XGcVl5hMU/PTSIi0Jtnb2xqdByn91DPxqgwf55fsIPsXNvtEm1p8U/nv1f6ABGUXuFfal8doErvgLi4mAgPlLV4bUGXxrW4vX09vlyzn4QjZ4yO45Q+XpHK/pM5TBjUUhYtsgEebi5MHBrLyXP5TPjFdtfDsLT4/wYMAVBKtQaOaq3PAWitDwIBSqn6Sik3oF/Z84WDeu6mpoQFePHM3ETyi6T5pzolpZ3h36v3M6xtJN2iQ4yOI8rERtbg3m6NmLX5CGtSbXPlL4uKv9Z6PbBVKbUemAw8pJQarZQaWPaUB4CZwBpgttZa2gQcWICXO28PbEnK8fN8+sdeo+M4jYKiEp6Zm0QtPw9e6CtrVNuax3s3Ke0SPW8H522wS7TF7xG11uMrbEost2810MnS7y3sT8+moQxqU4d//bmP62PCaREh92Os7dOVe9mTcY5pd7aVlblskJe7KxOHxDLk8w28t3SPzS2dKV1lRJV5uV9zavh48NSPSRQUlRgdx6HtPnaWT1fuZUCrCHo1CzM6jvgb8VE1GdO5Ad9uOMTG/aeMjvM/pPiLKlPDx4O3B8aw+9hZpqyU5h9rKSoube6p4ePOK/1bGB1HXMZT10dTr6YPz85LIrfAdu6JSfEXVeq6FuEMbF2HT1fuZWd6ttFxHNJnf+5jR3o2r98SQ5Cvh9FxxGX4eLjx7uBYDp66wHvLbGdCRCn+osq92r8Fwb4ePDlHev9UteSj2Xy8IpX+cRHc1LJKx04KK+rUKJg7O0Uxfd1BNuyzjeYfKf6iygX6uPPO4Jbo4+f4ZEWq0XEcRn5RMU/OSSTI14PXb5bmHnvz7I1NqR/sw9NzE22i948Uf2EV1zYNY2h8JJ/9uU8Gf1WRj5ensifjHO8MainNPXbIx8ONScPiOHoml7eWGD/3jxR/YTUv9W9OWIAXT85JkLl/Kmn74dN8vmofw9pGSu8eOxYfVZN7ujVk5qYjrNQnDM0ixV9YTYCXO+8OjmXfSZn7pzJyC0qbe2oHevNSPxnMZe+e6B1NdJgfz85N4swF46Z+luIvrKpbdAi3t6/Hv9fsZ+shmfrZEhOXafZn5vDekFj8vWQwl73zcnflg2GtyMop4FUDV/6S4i+s7oW+zYgI9OapH5O4UGD8jS578tf+U3y17gB3doqiS+NaRscRVSSmTiCPXNuEhQlH+XWHMSt/SfEXVufn6cb7Q+M4eCqH138y/kaXvTifX8TTcxOpH+wjUzU7oAd7NqJlnUBeWLiTTAMWfpfiL6pFp0bB3N+9dJbDXwy60rE3r/+UTNrpXN4fGicrczkgd1cXJg2L43x+EePn7cBsrtJlTy5Lir+oNuP6RBNXtwbj5yWRfibX6Dg2bVFCOnO2pPFQj8a0lYXYHVZ0mD/PXK9Yvvs43244VK3HluIvqo27qwuf3NaK4hIzT8xKoLikeq907MWhUzm8sGAnbaOCeLx3E6PjCCu7q0sDeqoQ3lqym+Sj1TclihR/Ua2ign15Y0AMmw5m8alM/vb/FBSV8MjM7biY4OPbW+PmKn+ijs7FxcSkYa0I8nXnkR+2k1NNo38takhUSrkDXwNRQDEwRmu9v8JzjgG63KZeWmsZ6SMY1CaS1Skn+XhFKl0aBxMfJc0aF01ctoektGw+HxlPnRreRscR1aSmrwcf39aa4V/+xUsLd/LBra2sfkxLLyuGA2e01l2Bd4EJ5XcqpUyULu3Yo9yHFH7xH28MiCGihhePzkyw6UWuq9PKPSf4cs0BRnWK4oaY8Mt/gXAoHRsG88i1TZi/PZ15W9OsfjxLi38vYEHZ58uArhX2+wKuloYSjs/fy52Pb2tNxtk8XlhQ/T0dbM3xs3k8+WMiTcP9ef6mZkbHEQZ5tFcTOjSoyUuLdrLv5HmrHsvS4h8OnAQou6IvUUqVn2nKDwhVSs1VSq1XSj1ayZzCAbWpF8QTvZvwc9IxZm0+YnQcwxSXmHl8VgK5BcVMGd4GL3e5bnJWri4mPr6tNZ5uLjz8w3arzol12TZ/pdRYYGyFzR0qPDYB5S/dLgAvAd8D7sBqpdQ6rfXWSmQVDuiBHo3ZeCCLlxftJDrMzynb/z9duZcN+08xcUgsjUP9jI4jDBYe6MWkYXHc9fUW3v5lt9XW/r3slb/WeqrWumP5D+AbSq/+L978NWmtC8t9zVmt9TStdb7W+jywHIi1yhkIu+bqYmLy7a2JqOHNfd9t41i2c/X/X7H7OB8uT2FAqwiGxEcaHUfYiGubhjG2a+navyfO5lnlGJY2+/wGDC37vD+wsvxOpVRLpdQ3SimTUsqN0nsCxs1gJGxaDR8Ppo5qS25BEfd9t9Vppn/ek3GWR2duJyYikAmDYjGZTEZHEjZk/I1Nmf9gZ0L8Pa3y/S0t/rMBV6XUWuAh4DkApdR4pVQnrfUO4BSwEVgLLNFab6qKwMIxNQnz56PbWpOUls1z8x3/BnDm+Xzu/noLvp5ufDmqLd4e0s4v/pebqwtt6gVZ7aLAon7+ZTd5x1xi+zvlPh9XiVzCCfVpHsaTfaKZ9HsKzWr7c2+3RkZHsor8omLu+24rp3LymXNfJ8IDvYyOJJyQDB8UNuXhaxvTt2Vt3vl1D38avNKRNZjNZp6bv4Oth04zaWgrYiNrGB1JOCkp/sKmmEwmJg6NJTrMn0dmbme/lfs6V7fPV+1n/rZ0xvWJpm9sbaPjCCcmxV/YHB+P0nZwd1cX7v5mi9V6O1S3ZckZvLdsD/3jInjk2sZGxxFOToq/sEl1a/rw5ah4jp/NY/jUjYYsdlGVEo6c4fFZCcRG1mDiEOnZI4wnxV/YrPiomkwf3Y600xcYOXUjWTnGLXZdGVsPneaOqRup5e/Bl3fEywheYROk+Aub1qFhMF/d2Y4DmTmMnLqRMxfs6wVg04EsRk3bSC1/T+bc14nQAOnZI2yDFH9h8zo3rsWXo9qy9+R57pi2yW5mAV2/L5M7v9pEeKAXs+7tSO1AmaJZ2A4p/sIudIsO4YuR8eiMc4z6ahNn82z7BWB1yknGTN9M3ZrezLq3E2FyxS9sjBR/YTd6Ng3lXyPakJyezeivNpF9wTZfAFbuOcHYb7fQMMSPmfd0tNrwfCEqQ4q/sCu9m4cxZXjpNBD9pqxhZ3r1rXl6JZbuPMa9321Bhfkz854OBPtJ4Re2SYq/sDs3xNRm9n2dKCo2M+iz9czadNjwuYDyCot5dXEy93+/jRYRgXw/tgM1fDwu/4VCGESKv7BL8VFB/PxIVzo0qMn4+Tt46sckcguMmQ005fg5Bny6jq/XH2RMl/rMurcjgd7uhmQR4kpZNLGbELYg2M+Tr8e05+MVqUz+I5Xko9l8NjKeBrV8q+X4ZrOZ7zce5s2fd+Hn6cb00e3o2TS0Wo4tRGXJlb+wa64uJsb1iWb66HZknM2j/+S1zNl8hKLiEqseNyungHu/28pLC3fSvkFNfn38Gin8wq5I8RcOoYcK5edHutIkzI9n5iVx7aRVzNp0mIKiqn0RyL5QyL9X7+OGj1bzpz7Bi32b8c2Y9oT6S1dOYV8sbvZRSnUHfgTu0lr/fIn9I4DHgRLgC631VxanFOIKRAb5MO/+zqzYc4LJf6Qyfv4OPlmRyv09GjGsbd1KTauw98R5vl5/gHlb08ktLKZ9g5p81a8dMXUCq/AMhKg+FhV/pVQjYBylq3Rdar8v8DLQHigAtiulFmqtsywNKsSVcHEx0ad5GL2bhbI6NZPJK1J5eVEyk//Yy+jO9WlXvyZNa/sT4HX5G7JFxSWsSc3kq3UHWJOaiYebC7fERTC6S31aREjRF/bN0iv/Y8AgYNrf7O8AbNZaZwMopdYAXYCfLDyeEFfFZDLRPTqEbk1q8df+LCb/kcrEZfo/+yODvGlWO4BmtQNoGu5PflExR7JyOZJ1gbTTuRw5fYFj2XkUl5gJ9ffkyT7RDO9QT/rtC4dh6TKOFwCUUn/3lHDgZLnHGYCsXCGqnclkolOjYDo1CiYjO49dx7LZfewcu4+dZfexs6zYfZySckMEwgI8iQzyoW1UEJFBPjSPCKB3szA83OT2mHAsly3+SqmxwNgKm1/RWi/7hy+rOFm5CXDsFbmFzQsP9CI80Itrm4b9Z1tuQTH7Tp7H28OVOjW8Zbpl4TQuW/y11lOBqVf5fdOBfuUe1wH+usrvIYTVeXu4yk1b4ZSsNchrIzBVKVUDKKK0vf9xKx1LCCHEVbKoIVMp1Vcp9SdwAzBBKfVb2fbxSqlOWutcYDywDFgOvHbx5q8QQgjjWXrDdwmw5BLb3yn3+VxgruXRhBBCWIt0YRBCCCckxV8IIZyQFH8hhHBCRk7p7A2QkJBARkaGgTGEEMLxlKur3pfab2Tx7wHw5JNPGhhBCCEcXg9gd8WNRhb/PwFmzJhBeHi4gYzMv6kAACAASURBVDGEEMLxZGRkMGLECCirtRUZWfxzAcLDw4mMjDQwhhBCOLTcS22UG75CCOGEpPgLIYQTkuIvhBBOqFJt/kqpGGAR8KHWekqFfb2Bt4Fi4Bet9RuVOZYQQoiqY/GVf9lSjZOBFX/zlE+AwZTO6HmjUqq5pccSQghRtSrT7JMP3AQcrbhDKdUQyNJaH9Fal1A6CVyvShzr/ykukbVhhBDCUhY3+2iti4Civ1nK8VLLODay9FgVrdh9nPu/30qovxeNQv1oFOJLw5DSfxuH+BEa4FVVhxLC5pzOKWBZcgZpp3PJPJ9f9lHwn8+93F1pXbcGbeoF0bpeEHF1A/G/ggXrhXOxVj9/qy7j2K5BTR69tgmpJ86zP/M8mw9kkVtY/N/99YO4r1sjrm0aiotLxShC2B+z2cxf+7OYtfkwv+7MoKCoBBcT1PT1pJafByH+njSo5UstPw+ycwvZfvgMK3Xp9ZfJBCrMn/ioIMZ0qU/jUH+Dz0bYAmsV/3RKr/4vqgMcq6pvHuDlziO9mvzncUmJmYyzeew7eZ4d6dnM+OswY7/dQuNQP+69piG3tI7A003WZhX2J/N8PvO2pjF78xH2Z+bg7+XG7e3qMqxdXZqFB/zjxU12biGJR86w/fAZth0+zYLt6czcdJiBrSN5vHcT6tb0qcYzEbbGKsVfa31QKRWglKoPpFG6nu8IaxwLwMXFREQNbyJqeHNNkxDuuaYhv+w4xuer9vPMvCTe/00zpksDhneoR6C3vP0Vti+vsJhJv2m+Xn+QwmIz7eoH8VDPxtzUsjbeHld2IRPo7U636BC6RYcAkJVTwGd/7uXbDYdYnJjO7e3r8XDPxtJM6qRMZrNlrTFKqXhgElAfKKT0an8xcEBrvUAp1Q14t+zp87TW71f4+vrAgRUrVlhtegez2cya1Ez+vXo/a/dmUsvPg49ubU3XJrWscjwhqkJS2hnGzUlk74nz3NauLnd3bUCTsKprqsnIzmPyH6nM3nwEN1cTd3auz4PdGxPoIxdGjiQtLY1evXoBNNBaH6y43+LiX1nVUfzLSzxyhqd+TGTvyfM83LMxj/VqgpurjHETtqOwuIRPV+5l8h97CfHzZOLQWK5pEmK14x06lcNHy1NZmJBORKA3/x4VT4uIQKsdT1SvyxV/p6l+cXVrsOjhLgxpE8nkP/YyfOpGMrLzjI4lBAB7T5xj8Gfr+Wh5KjfHRbDs8W5WLfwAUcG+fHhrKxY82IUSs5nBn61nUUK6VY8pbIfTFH8AHw83Jg6N44NhcexMz+amT9awUp8wOpZwct+sP0jfT9ZyJOsCn41ow4e3tqrWJphWdWuw+OGuxNapwWOzEnhryS6Kikuq7fjCGE5V/C8a1CaSxQ93JdTfkzHTNzPh193yyy6qndls5t2le3hlcTJdGtdi2RPduLFlbUOyhPh7MuOeDtzZKYov1xxg9PTNnM4pMCSLqB5OWfwBGof6sfChLgzvUI8vVu3niTmJ8gIgqk1JiZlXFifz2Z/7GNGhHlNHtSXU39heN+6uLrx2SwzvDYll04Es+k9Zy66jZw3NJKzHaYs/gJe7K28PbMmzNzTlp8Sj8gIgqkVRcQlPz03i2w2HuK9bQ94cEGNTgxGHta3LnPs7UVRsZsjn69lyMMvoSMIKnLr4X/RAj0byAiCqRUFRCY/M3M68bWk82Sea8Tc2xWSyncJ/Uel9gC6EB3gxZvpmdqZnGx1JVDEp/mXkBUBYW25BMfd8u4Vfd2bwUr/mPNKriU0W/otCA7z4fmwHArzduWPaRlKOnzM6kqhCUvzLeaBHI8bfKC8Aouqdzy/izumbWJ16kncHt+Turg2MjnRFImp488M9HXB3dWHE1I0cyMwxOpKoIlL8K7i/u7wAiKpVVFzCwz9sY+uh03x8W2tubVfP6EhXJSrYlxljO1BcYmbEl3+RdvqC0ZFEFZDifwnlXwCemZeEUaOghWN44+dd/KlP8sYtMdwcF2F0HIs0CfPn27vacz6/iJFTN3LirAyQtHdS/P/G/d0b8XjvJszfls4Xq/cbHUfYqenrDvDNhkPc260hwzvY1xV/RTF1Avn6rvacOJfPiKkbyZJxAHZNiv8/eKxXE/rF1ubdpXtYsfu40XGEnVmx+zhv/LyL65qHMf6GpkbHqRJt6gUx7c52HMq6wIMztlIozaJ2S4r/PzCZTEwcEkdMRCCPztwuvR3EFUs+ms0jM7fTIiKQj25rZVP9+CurU6Ng3hnUkr/2Z/H2L7uNjiMsJMX/Mrw9XPn3qHh8PN0Y+80WGfIuLisjO4+7v95CDW93pt3ZFh8Pa62ZZJxBbSIZ06U+09cdZP62NKPjCAtI8b8CtQO9+eKOeDLO5vGAvNUV/yAnv4i7v9nMubxCpo1u59ALpTx/UzM6NqzJc/N3sCNNBoHZG4uLv1LqQ6XUBqXUeqVUuwr7tiul/iz3UafyUY3Vpl7Qf97qvvZTstFxhA0ym82Mm5PA7mNnmTK8Dc1qBxgdyarcXV2YMrwNwb4e3P/9Vk6dzzc6krgKFhV/pVR3oInWuhMwFphS8Tla6x7lPhxikvBBbSK5r3tDvv/rMN9tOGh0HGFjvl5/kGXJx3n+pmb0bBpqdJxqUcvPky/uaEvm+Xwe+mGbvCu2I5Ze+fcCFgJorXcBQUqp8pc5VbfmnI155vqmXNs0lFd/2sW2w6eNjiNsRFLaGd7+ZTe9m4XZzejdqtIyMpAJcgPY7lha/MOBk+UeHy/bdlGwUmqGUmqdUupNpZTDdHVwdTHx0W2tqB3oxaMzt5OdW2h0JGGws3mFPPzDdkL8PHl/aKxNz9djLYPaRDK6s9wAtieWFv+Kv90moPww2OeBB4AeQBtgkIXHsUkBXu58cntrjmXn8cKCHTIC2ImZzWaem7eD9DO5TB7emho+HkZHMswLfZvRoUFNnl+wg70nzhsdR1yGpcU/nf+90o8AMi4+0Fp/prU+q7UuBH4GYi2PaJva1AtiXJ9ofk46xo9b5ErHWc3YeJglO47x1HWK+KiaRscxlLurC5/c3hpvd1cen72dgiJp/7dllhb/34AhAEqp1sBRrfW5sse1lFK/KKUuLkLaHdhZ6aQ26P7ujejcKJhXFiez94QMAHM2yUezef3nXXSPDuG+bg2NjmMTwgK8eGdwLDvTzzLpN210HPEPLCr+Wuv1wFal1HpgMvCQUmq0Umqg1joTWAlsUEqto/TewLwqS2xDXF1MfHhrK7zcXXhkZgJ5hcVGRxLV5Hx+EY/8sJ0gH3c+GBbnUCN4K+v6FuHc3r4eX6zez7q9mUbHEX/DZFR7tVKqPnBgxYoVREZGGpKhqqzYfZy7v9nC6M71efXmFkbHEVZmNpt5YnYCixOP8sM9HenYMNjoSDbnQkER/SavJSe/iKWPdSPI13nvhRglLS2NXr16ATTQWh+suF9G+FaBXs3CGNOlPl+vP8jyXTIBnKNblHCUhQlHeaxXtBT+v+Hj4cYnt7UmK6eA8fNlWnRbJMW/ioy/sSnNawfw9NxEMrJlrnNHlZGdx8uLdhIfFcTD1zY2Oo5Ni6kTyFPXKZYlH2f25iNGxxEVSPGvIp5urkwe3pq8whKenpsoVzoOyGw288y8JAqLzUwaGoertPNf1j3XNKRL42Be+2kX+09K909bIsW/CjUK8eO5m5qyJjWTHzYdNjqOqGIzNh5mdcpJnr+pKfVr+Rodxy64uJiYNLQVnu4uPDYrQbp/2hAp/lVsZIcoOjcK5q0luzmSJWudOopDp3J4+5fdXNOkFiM7Rhkdx66EB3rxzqBYdqRnM+WPVKPjiDJS/KuYi4uJ94bE4mIy8fTcREpKpPnH3hWXmHlyTiKuZf+3zjh9Q2XdEBPOoNZ1+PTPfexMl+mfbYEUfyuIDPLhxb7N+Gt/Ft9uOGh0HFFJU9fsZ8uh07x2cwtqB3obHcduvdK/BcG+Hjz1YyL5RTImxmhS/K3k1nZ16aFCeGfpHg5k5hgdR1hIZ5xj0m8pXN8ijIGt7X5ZCkMF+rgzYVBL9mScY/KKvUbHcXpS/K3EZDLxzqBYPFxdeOrHRIql+cfuFBSVMG5OAv5ebrw9sKU091SBXs3CGNwmks9W7SMp7YzRcZyaFH8rCg/04tWbW7D10Gmmrd1vdBxxlaas3Evy0bO8PaglwX6eRsdxGC/3b04tP2n+MZoUfysb2LoOfZqH8f5vKaQel8nf7EXy0Wz+tXIvA1vX4foW4Zf/AnHFAr3deWdQLCnHz/Pxcun9YxQp/lZmMpl4e2BLfD1ceerHRIpkmTubV1hcwjNzk6jh48Er/ZsbHcch9WwaytD4SD5ftY/EI9L8YwQp/tUgxN+T12+JITEtm6lrDxgdR1zGv1fvJ/noWd4c0MKpF2exthf7NSfU34unfkyUGXENIMW/mvSLrc31LcL44PcU9skwd5uVcvwcHy9PpW9sbW6IqW10HIcW6O3OhMEtST1xno+k+afaSfGvJiaTiTduicHb3ZVn5ybJ4C8bVFxi5um5Sfh5ufGaTM1dLXqqUIa1jeTfq6X3T3WzuPgrpT5USm1QSq1XSrWrsK+3UmpT2f6XKh/TMYQGePFyv+ZsOXRaBn/ZoGlr95N45Ayv3tyCWtK7p9q80Lc5tfw8eWZuksz9U40sKv5Kqe5AE611J2AsMKXCUz4BBgNdgBuVUnLXrMygNnXooUJ4d6mWuX9syP6T55n0Wwp9mofRP1aae6pToLc7bw0sHfz1rz9l8Fd1sfTKvxewEEBrvQsIUkoFACilGgJZWusjWusSYEnZ8wX/7f3j6mLi2XmyyIUtKCkx8+y8JDzdXHhrQIwM5jJAn+Zh3NIqgil/7GX3sbNGx3EKlhb/cErX5r3oeNm2S+3LAORSqpyIGt48f1Mz1u87xSxZ5MJw3244yOaDp3m5fwtCA7yMjuO0XunfgkBvd56ZmyRdoquBpcW/4qWRCTBfwT5R5vb2df8z9fPRM7lGx3Fah09d4N2lmh4qhMFtZO4eI9X09eD1W2LYkZ7Nl2ukS7S1WVr80/nvlT5ABKVX+JfaVwc4ZuFxHNbFuX+KS8y8sGCHNP8Y4GJzj5uLSebusRE3tQznhhbhfLhcukRbm6XF/zdgCIBSqjVwVGt9DqBslfgApVR9pZQb0K/s+aKCesE+PHODYqU+yfxt6UbHcTo/bDrMhv2neKFvMyJqyFTNtsBkMvH6gBZ4u7vyzNwkmRDRiiwq/lrr9cBWpdR6YDLwkFJqtFJqYNlTHgBmAmuA2VrrlCpJ64Du7FSfdvWDeO2nZI6flYXfq0va6QtMKFuZ69Z2dY2OI8oJ9S/tEr1VukRblZulX6i1Hl9hU2K5fauBTpZ+b2dSuvJXHDd8tJrn5+9g6p1tpfnBysxmM8/N3wHAhEHS3GOLBrWpw09JR3lvqebapqFEBcuayVVNRvjagAa1fHn6esWKPSdYmCDNP9Y2e/MR1qRmMv6mZkQG+RgdR1yCyWRiwqCWuLmYeFpGxFuFFH8bMaZLA+Kjgnh18S5OSPOP1RzLzuWtJbvp2LAmI9rXMzqO+Ae1A715qX9zNh3I4psNB42O43Ck+NuIi4uD5xUW8/yCndL7xwouNvcUlZh5b3AcLi7S3GPrhsZH0lOF8O7SPRyU5VCrlBR/G9IoxI+nrlMs332cRQlHjY7jcOZtS+dPfZJnblDUC5bmHntQ2vwTi7urC0/PTZTmnyokxd/G3NW1AW3q1eCVxcmcOCfNP1Xl+Nk8Xv8pmfb1a3Jnp/pGxxFXITzQi1f6t2DzwdNMX3/Q6DgOQ4q/jXF1MTFxaBy5hcW8IM0/VcJsLh3MVVBcwrtDYqW5xw4NblOHXk1DeW/pHvbL4K8qIcXfBpU2/0Tz+67jLE6U5p/KmrHxMH/qkzx3YzMa1JIug/bIZDLx9qCWeLq58LQM/qoSUvxt1N1dG9K6Xg1eXpTMsWyZ+8dSBzJzeGtJ6WCuOzpGGR1HVEJYgBev3tyCrYdO85Ush1ppUvxtlKuLiQ+GtaKwuISnfpQbXZYoKi5h3JwE3F1NTBwivXscwcDWdejdLIz3f9PsPSHNP5Uhxd+GNajly0v9mrNu7ym+WidXOlfr81X72H74DG8MiCE8UKZqdgSlzT8xeHu48sTsBFn5qxKk+Nu429rVpXezMN5bqtmTIYtcXKmd6dl8tDyVfrG1uaWVTNXsSEL9vXhnUEt2pGfzwe8ybZilpPjbOJPJxLuDWxLg7c7jsxLIKyw2OpLNyyss5onZCQT7efDmgBij4wgruCGmNre3r8sXq/exfl+m0XHskhR/OxDs58nEIbHsyTjHpN+00XFs3sRlmtQT55k4JI4aPh5GxxFW8lK/5jSo5cu42YmczikwOo7dkeJvJ3o2DeWOjlF8ueYA6/bKlc7fWb8vk2lrDzCqUxTdokOMjiOsyMfDjU9ua82pnHzGz5f1sK+WFH878vxNzWgY4suTcxLJvlBodBybk5VTwJNzEmlYy5fnbmxmdBxRDWLqBPL09YplycdlPeyrZNF8/kopd+BrIAooBsZorfdXeM4xoHwbRS+ttTRYV4K3hysf39qagf9ax/MLdzDl9tYyF32ZkhIzj89O4FROAfMf6Iy3h6vRkUQ1Gdu1IatTMnn9p120b1CTRiF+RkeyC5Ze+Q8HzmituwLvAhPK71RKmShd2rFHuQ8p/FWgZWQgT/SJZknSMWZukiudi/71515Wp5zklf7NiakTaHQcUY1cXExMGhaHl7sLj83aLt0/r5Clxb8XsKDs82VA1wr7fQG59LKS+7s3ont0CK8uTibxyBmj4xhu/b5MPvg9hVtaRTBc5uh3SmEBXrw7OJad6Wd5XzpFXBFLi384cBKg7Iq+RClVvluFHxCqlJqrlFqvlHq0kjlFOa4uJj66tRUh/p488P1Wspy4p8OJs3k8OjOBBrV8eXugLMnozK5rEc6IDvX49+r9LN15zOg4Nu+ybf5KqbHA2AqbO1R4bALK32q/ALwEfA+4A6uVUuu01lsrkVWUE+Trwecj4xn8+Xoenbmdb+5qj6uTTV9QVFzCIzO3cz6/kB/u6YCvp8VLUgsH8XL/5iQfPcu4OYk0qOWHCvc3OpLNuuyVv9Z6qta6Y/kP4BtKr/4v3vw1aa0Ly33NWa31NK11vtb6PLAciLXSOTitlpGBvHFLC9buzeSD353vre6Hy1PYeCCLtwa0JDpM/sgFeLq58vnIeHw93bj3uy3SK+4fWNrs8xswtOzz/sDK8juVUi2VUt8opUxKKTdK7wkkWx5T/J1b29XjtnZ1+XTlPn7fddzoONVmpT7Bpyv3cVu7ugyOjzQ6jrAh4YFefD6yDUfP5PLorO0y/fPfsLT4zwZclVJrgYeA5wCUUuOVUp201juAU8BGYC2wRGu9qSoCi//v1Ztb0LJOIONmJ3DACdY5PZJ1gSdmJ9A03J9Xb25hdBxhg+KjavLazTGsSjkpN4D/hkWNpGU3ecdcYvs75T4fV4lc4ip4ubvy2cg29Ju8lge+38r8Bzvj4+GY7d+ncwq4c/omzGb4bGQ8Xu7SqUxc2vAO9diRns1nf+6jRUQA/WIjjI5kU2SEr4OIDPLh49tao4+fY9zsRId8q5tXWMzYb7eQdjqXqXe2lVW5xGW9enNz4qOCePrHJHYfk1lxy5Pi70C6R4fwUt/mLE3O4MWFOxxqrpPiEjOPz0pg2+HTfHRrK9rVr2l0JGEHPN1c+WxEGwK8S28AO3O36Iqk+DuYu7o24KGejZi56QgTlzlGW6fZbOaNn3exNDmDF25qxk0taxsdSdiR0AAvPhsZz/Gz+Yz6aiPZudIDCKT4O6SnrlPc3r4e//pzH1PX7L/8F9i4aWsP8PX6g9zVpQFjr2lodBxhh9rUC+KLkfHojHOMmb6JnPwioyMZToq/AzKZTLw5IIYbY8J5c8lu5m1NMzqSxX5OOsqbS3ZzU8twXuwrM3UKy/VsGsont7UmMS2bsd9scfqFkaT4OyhXFxMf3daKLo2DeWZeEit2298YgL/2n2Lc7ETa1Q/ig2GtZAF2UWk3tqzNpKFx/HXgFPd9t5X8Iud9AZDi78A83Vz54o62tIgI4MEZ29h0IMvoSFds+a7jjJ6+ibo1vflyVFvp0imqzIDWdZgwsCWrUk7y6MztFBY75yygUvwdnJ+nG9NHt6NOkDd3fb2ZVSknjY50WXM2H+G+77eiwvyZc18nWYpRVLnb2tfjlf7NWZZ8nCfnOGbX6MuR4u8Egv08+WFsR+rW9OGurzfz3YaDRke6JLPZzJQ/UnlmXhJdGtfih3s6EuznaXQs4aDGdGnAszc0ZXHiUcbNSXC6ewBS/J1EeKAXc+/vRI/oEF5alMxrPyXb1NVOcYmZVxcn8/5vKQxsXYepo9rKLJ3C6h7o0Yinr1csSjjK0M83kHb6gtGRqo0Ufyfi6+nGv0e15e6uDZi+7iD3fLuF8zbQ5S2/qLh0WuoNh7jnmgZMGhqHh5v8aorq8VDPxkwd1ZaDmTncPGUd6/dmGh0JgNUpJ3ls1nar/Y3KX5iTcXUx8VK/5rw5oHTSqyGfrSf9TK5heY6eyWXUtE0s2XGMF25qxgt9m0uvHlHtejcPY9HDXQj29WDktI38e/U+w0bI5xYU88qinYz6ahN7jp3DzUp/D1L8ndTIjlFMH92O9NO5DPh0HSv1iWo9fnGJma/XHaDPB6tISsvmw1vjuKebDOASxmkY4seCh7pwfYtw3v5lD4/M3M6Fgup9Z5yUdoa+k9fwzYZD3N21AYse7mK1nm5S/J1Yt+gQ5j/YGX8vN8ZM38zo6ZvYe+K81Y+7J+Msgz9bz6s/7SK+fk1+e6IbA1vLnPzCeH6ebvxrRBueuUHxy45jDPh0HWtTM63+LqCouIRPVqQy6F/ryS0oZsbYDrzUr7lVuzjLHTUn1yTMn6WPdePbDQf5eEUqN3y0mjs6RfF4r2gCfdyr9Fh5hcVM/iOVL1btJ8DbnY9ubcUtrSJk3V1hU0wmEw/2aExMRCDPzkti5LSNdGhQkyevU7RvUPUTCuqMczw7L4mEI2cY0CqC126JIdC7av/2LsVk6SuaUqo78CNwl9b650vsHwE8DpQAX2itv6qwvz5wYMWKFURGylWfLTh1Pp9Jv6cwa9NhAr3dGdcnmtvb18PNtXJvELMvFLIsOYPPVu3jQGYOg9tE8mLfZgT5Sv99YdvyCouZtekwn/65j5Pn8rmmSS3G9Ymmdb2gSn3f/KJiliUfZ8Zfh9h4IItAb3feHBBD/7iqW3MgLS2NXr16ATTQWh+suN+i4q+UagR8ABQDX1Us/kopX2Ab0B4oALYDnbXWWeWeUx8p/jZp19GzvP5zMn/tzyI8wIvu0SF0iw6ha+NaV/xu4FxeIct3H+fnxGOsTj1JYbGZRiG+vHZzDF2b1LLyGQhRtXILivnur4N8vmo/WTkF9GoaytC2dWldrwZhAV5X/H0On7rAD5sO8+OWI5zKKaBeTR+Gd6jH0PjIKh/Tcrnib2mzzzFgEDDtb/Z3ADZrrbMBlFJrgC7ATxYeT1Sj5hEBzLynI7/tOs7C7en8svMYs7ccwcUEcXVr0K1JCB0a1sTVZCK/qIS8wmLyikrILywmt7CY9XtP8Yc+QUFRCRGBXozuXJ/+cRG0rBMoTTzCLnl7uHJvt0YM7xDFN+sP8sWqfazYU9pJIjzAi7i6gcTVrUGrujWoG+RD5vl8TpzL58TZvLJ/8zlwKodNB7JwdTHRu1koIzpE0bVxLcN6t1m6jOMFAKXU3z0lHCg/j0AGIJOw2xGTycT1LcK5vkU4RcUlJKadYVVKJqtTTjL5j1Q+XvH3Xxvi78nw9vXoF1ubNvWCpOumcBh+nm481LMxd3dtQPLRsyQeOUNi2hkSj5xhWfKlJ090MUEtP0/CA714onc0t7arS3jglb9bsJbLFn+l1FhgbIXNr2itl/3Dl1X8azcBtjOcVFwVN1cX4qNqEh9Vk3F9ojlzoYAd6dm4mkx4urvg6eaKV9m/nu4uBPt64ioFXzgwL3dX4qOCiI/6b9v/6ZwCktKzycjOJcTfk1B/L0L9PQn2s82/h8sWf631VGDqVX7fdKBfucd1gL+u8nsIG1XDx4NrmoQYHUMImxLk60H3aPv5u7BWV8+NwFSlVA2giNL2/setdCwhhBBXyaI+fEqpvkqpP4EbgAlKqd/Kto9XSnXSWucC44FlwHLgtYs3f4UQQhjP0hu+S4All9j+TrnP5wJzLY8mhBDCWmR6ByGEcEJS/IUQwglJ8RdCCCdk5MRurgAZGRkGRhBCCMdUrrZecmpQI4t/bYARI0YYGEEIIRxebWBfxY1GFv/NwDWUzhPkXCsnCyGE9blSWvg3X2qnxVM6CyGEsF9yw1cIIZyQXa7kpZT6EOhI6WRxj2mtL/m2xtEopWKARcCHWuspSqm6wHeUvr07Btyhtc43MqO1KKXeo7SZ0A2YQOlbWWc5dx/gayAM8ALeABJxkvO/SCnlDSQDrwMrcKLzV0rFU/q3v7ds0w7gPSrxM7C7K/+yFcSaaK07UTrb6BSDI1WLsgVyJlP6S3/R68CnWutrgIPAXQZEszqlVE8gpuz//AbgI5zk3Mv0B7ZorbsDwyhdSMmZzv+iF4FTZZ872/n7AXO11j3KPh6hkj8Duyv+QC9gIYDWehcQpJQKMDZStcgHbgKOltvWA1hc9vkioHc1Z6ouq4GhZZ+fBnxxnnNHaz1ba/1e2cO6QBpOdP4ASqmmQHP+O61MD5zo/AH/S2zrQSV+BvbY7BMObC33+HjZtrPGxKkeWusioKjCAjq+5d7mOeyCOVrrYiCn7OFY4Bfgemc49/KUUuuBSEqnS1/uZOc/CXgYuLPssVP87pfjB3RVSv1K6cXPK1TyZ2CPV/6yUMx/lT9vh/85KKVuAe6mtAg41bkDaK07AzcD3+NE56+UGgVsYR5WxgAAAYFJREFU0FofKLfZac6/TCLwutb6RkovgL4Byi+ofdU/A3ss/umUXulfFEHpq54zyim7CQalC+YcMzKMNSmlrgdeAG4smx7cmc49vuzmPlrrBErfsTvN+QN9gVuUUn9RWvhewrnOH631bq314rLPUyiteTUq8zOwx+L/GzAEQCnVGjiqtT5nbCTDLAcGl30+GFhqYBarUUoFAhOBflrrrLLNTnHuZboBTwIopcIobQJwmvPXWt+qtW6nte5I6aqCb+BE5w+glLpLKfVo2efhlPb8mk4lfgZ2OchLKfUOpX8QJcBDWutEgyNZXVlXr0lAfaCQ0ndAIyjtAugFHALGaK0LDYpoNUqpe4FXgZRym++ktBA49LnDf7o4TqP0Zq838BqwBfgWJzj/8pRSr1Las2UZTnT+SqkgYAalL/yelP4ObKcSPwO7LP5CCCEqxx6bfYQQQlSSFH8hhHBCUvyFEMIJSfEXQggnJMVfCCGckBR/IYRwQlL8hRDCCUnxF0IIJ/R/IQ0XWW7WuZAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure() # 获得figure对象\n",
    "ax1 = fig.add_axes([0.1, 0.5, 0.8, 0.4],\n",
    "                   xticklabels=[], ylim=(-1.2, 1.2)) # 左边10% 底部50% 宽80% 高40%\n",
    "ax2 = fig.add_axes([0.1, 0.1, 0.8, 0.4],\n",
    "                   ylim=(-1.2, 1.2)) # 左边10% 底部10% 宽80% 高40%\n",
    "\n",
    "x = np.linspace(0, 10)\n",
    "ax1.plot(np.sin(x))\n",
    "ax2.plot(np.cos(x));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> We now have two axes (the top with no tick labels) that are just touching: the bottom of the upper panel (at position 0.5) matches the top of the lower panel (at position 0.1 + 0.4).\n",
    "\n",
    "这样我们就有两个子图表（上面的子图表没有x轴刻度），这两个子图表正好吻合：上面图表的底部是整个图表高度50%位置，而下面图表的顶部也是整个图表的50%位置（0.1+0.4）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## ``plt.subplot``: Simple Grids of Subplots\n",
    "\n",
    "## `plt.subplot`：简单网格的子图表\n",
    "\n",
    "> Aligned columns or rows of subplots are a common-enough need that Matplotlib has several convenience routines that make them easy to create.\n",
    "The lowest level of these is ``plt.subplot()``, which creates a single subplot within a grid.\n",
    "As you can see, this command takes three integer arguments—the number of rows, the number of columns, and the index of the plot to be created in this scheme, which runs from the upper left to the bottom right:\n",
    "\n",
    "将子图表的行与列对齐是一个很常见的需求，因此Matplotlib提供了一些简单的函数来实现它们。这些函数当中最底层的是`plt.subplot()`，它会在网格中创建一个子图表。函数接受三个整数参数，网格行数，网格列数以及该网格子图表的序号（从左上角向右下角递增）："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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d+9eUlNT+frXv+43LyUlhe3bt1NcXMy9994b1Po++ugjvvrqq4B79SdPnmT79u2sXLnSb35lZWWj/0lCkZWVRWFhoXdyMFDsnVCubs3JFajdw2vf3v/uflVVVYD7w0NfyvWaaM21b9++dO/enfPnz9eb5837hhtu8GuPZK7harLYG2PGAndZa0cYY5KB9cBw3z7W2nGhLhNp8fHx/O///m+99qKiIlasWMGMGTOa/AC0KV999RXPPfccU6ZM4V//9V/95h0+fJi4uDj69OkT9Pqee+65gC/4p59+mm984xs88cQTfmcMVFVVcfny5dU/GwEAAArESURBVCaP7QejsLCQkpIScnJyvDdDWAFs8+2jXJuX63//938zY8YMfvjDHzJ37tza9suXL7Nv3z4SExPp2bNnbbtyvSaac23Xrh0PPfQQO3bs4Pz587V5Xb16lfz8fG6//XZ69erlt0x5eTl33nlnWM8jUoI5jDMByAWw1h4B4o0x3X3mB/qz1dQyEZeSkkJlZSXHjx/3a1+5ciWdO3dm0qRJfPrpp/V+Ll26BLj/kyQnJ7Nx48YGt5GQkEBGRgbbtm1jxYoV5Ofnk5+fz/Lly8nLy+N73/set912G+A+Hzc5OZn9+/c3uD5jDEOHDq3307FjR3r06MHQoUNr3zoCtR/0JCcnN/v35FVQUEB6erpv003KNTK53nPPPQwfPpyf/vSnvP766xQWFpKXl8djjz3G2bNn6xUx5XpNNOcK8OSTT3LjjTfyj//4j3z44Yfs27ePp556ipKSknrn8585c4Zz586RkpLSnF9RxAVzGKc3cMhn+oynzXsgqocxZgOQCHwELAtimYgbNWoU69at48CBA0yfPr22/Y9//CMAs2bNCrjcu+++y/Dhw3G5XEF9tXnZsmX079+fLVu2sGnTJjp27Ei/fv3IzMzkscceq+1XU1MT8a9Ke7+OPWrUqLDXVVZWVvdFWIZyjUiucXFx5OTk8LOf/YwdO3bw9ttv06FDB+69917eeeedeud9K9fYyBWgT58+/PKXv2T16tUsW7aMr776irvvvpv169fX+47MgQMHap9rNAim2Nc9YBaH+7ie17PABuAysBWYGsQyETd06FD69+9Pbm6u34vHWhvU8sOHDycjI6PJL8J06NCBOXPmMGfOnEb7TZ06lZ07dwb1xZq69uzZU6+turqa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\n",
      "text/plain": [
       "<Figure size 432x288 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for i in range(1, 7):\n",
    "    plt.subplot(2, 3, i)\n",
    "    plt.text(0.5, 0.5, str((2, 3, i)),\n",
    "             fontsize=18, ha='center')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> The command ``plt.subplots_adjust`` can be used to adjust the spacing between these plots.\n",
    "The following code uses the equivalent object-oriented command, ``fig.add_subplot()``:\n",
    "\n",
    "`plt.subplots_adjust`函数用来调整这些子图表之间的距离。下面的代码使用了与`plt.subplot()`等价的面向对象接口方法`fig.add_subplot()`："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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r35VMf3FF19kwIABnDp1KuZ11FdaFvuysjJyc3Np3rw5s2bNAoIPhjFjxnDmzBmef/55lixZQufOnZkxYwY///nPo17H2rVrmTx5Mh06dOCVV14hLy+PJk2aMHXqVDZu3Fiv8Z8+fZqXXnqpRvuCBQs4e/Ysc+bMqdfyrzbpmPe5c+e49dZbeeedd2r8DR8+HFDetUnHrP/2t7/x6KOPsmXLFmbOnMnrr79O27ZtmTZtGh999BEAM2bM4IYbbuCZZ56htDRFX00IBAJJ/8vKysrMysoKHDp0KBCLgoKCQFZWVmDHjh0VbU8++WSgV69egaKiooq20tLSwNChQwMDBgyIeh33339/YNy4cVXaiouLAz169AhMmDAhpnGXy83NDQwbNiwwaNCgwIwZM6pMW7NmTY3/W7QOHToUyMrKCmRlZWUGUpBv9T8f8x43blyN5dXmasvbx6xff/31QFZWVuCTTz6paCspKQkMHz48sGTJkoq2Xbt2BbKysgJvv/121OsoV5+s027PvrS0lFdffZWcnBz69u1b0T527FhefvllWrb88of5GjVqRFZWFidOnKCsrCzidZSUlPDEE08wffr0Ku0tWrSgS5cuHD16NObxb9u2jfXr1/Pcc8+RkVH950lg+PDhdO7cmcWLF8e8jqtJuuZdXFxM8+bNw/ZT3l9K16wLCgro0aMHd911V0Vb06ZNWbduHU8//XRFW69evbjnnnt47bXXuHTpUtTrqa+0K/a7d+/m4MGDfOtb36rSPnDgQAYPHlyj/2effUanTp1o1Cjy/+q1117L+PHjueeee6q0X7p0iWPHjnHrrbfGNPYLFy4wd+5c/uEf/qHKg7myxo0bM3z4cD7++GMOHDgQ03quJumad3FxMS1atAjbT3l/KR2zLioq4i9/+Qs9e/aMqP8//uM/cuTIEX77299GtZ54SLtiv337dgD69esXtu/KlSsxM8aNG1evdZaWlnLgwAG+973vUVJSwrRp02JazuLFizl37hwzZsyos1/5C0H5/9Vn6Zp3cXExJ0+e5KmnnqJ///7cddddjBo1il//+tc1+irvoHTM+siRIwC0bduW/Px87r//frp168aDDz5Y6wfI5f+3VGSddsV+7969tGzZkltuuaXOfps3b2b+/Pn069ePCRMmxLy+1atXk52dzUMPPcShQ4dYvnw53bt3Dz9j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\n",
      "text/plain": [
       "<Figure size 432x288 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "fig.subplots_adjust(hspace=0.4, wspace=0.4)\n",
    "for i in range(1, 7):\n",
    "    ax = fig.add_subplot(2, 3, i)\n",
    "    ax.text(0.5, 0.5, str((2, 3, i)),\n",
    "           fontsize=18, ha='center')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> We've used the ``hspace`` and ``wspace`` arguments of ``plt.subplots_adjust``, which specify the spacing along the height and width of the figure, in units of the subplot size (in this case, the space is 40% of the subplot width and height).\n",
    "\n",
    "上例中我们指定了`plt.subplots_adjust`函数的`hspace`和`wspace`参数，它们代表这沿着高度和宽度方向子图表之间的距离，单位是子图表的大小（在本例中，距离是子图表宽度和高度的40%）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## ``plt.subplots``: The Whole Grid in One Go\n",
    "\n",
    "## `plt.subplots`：一句代码设置所有网格子图表\n",
    "\n",
    "> The approach just described can become quite tedious when creating a large grid of subplots, especially if you'd like to hide the x- and y-axis labels on the inner plots.\n",
    "For this purpose, ``plt.subplots()`` is the easier tool to use (note the ``s`` at the end of ``subplots``). Rather than creating a single subplot, this function creates a full grid of subplots in a single line, returning them in a NumPy array.\n",
    "The arguments are the number of rows and number of columns, along with optional keywords ``sharex`` and ``sharey``, which allow you to specify the relationships between different axes.\n",
    "\n",
    "上面的方法当我们需要创建大量的子图表网格时会变得非常冗长乏味，特别是如果我们需要将内部图表x轴和y轴标签隐藏的情况下。因此，`plt.subplots`在这种情况下是一个合适的工具（注意末尾有个s）。这个函数会一次性创建所有的网格子图表，而不是单个网格，并将它们在一个NumPy数组中返回。参数是行数和列数，还有两个可选的关键字参数`sharex`和`sharey`，可以让你指定不同子图表之间的关联。\n",
    "\n",
    "> Here we'll create a $2 \\times 3$ grid of subplots, where all axes in the same row share their y-axis scale, and all axes in the same column share their x-axis scale:\n",
    "\n",
    "下面我们来创建一个$2 \\times 3$网格的子图表，其中每一行的子图表共享它们的y轴，而每一列的子图表共享它们的x轴："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 6 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(2, 3, sharex='col', sharey='row')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> Note that by specifying ``sharex`` and ``sharey``, we've automatically removed inner labels on the grid to make the plot cleaner.\n",
    "The resulting grid of axes instances is returned within a NumPy array, allowing for convenient specification of the desired axes using standard array indexing notation:\n",
    "\n",
    "注意上面我们设置了`sharex`和`sharey`之后，内部子图表的x轴和y轴的标签就自动被去掉了。返回值中ax是一个NumPy数组，里面含有每一个子图表的实例，你可以使用NumPy索引的语法很简单的获得它们："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAD5CAYAAADGMZVsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+17YcXAAAgAElEQVR4nO3de3BU9f3/8WdAoQihRlGjoNDS5K3QWxQNt4JKhUrRAcQr3r9IRQa88a1Oqfq1gsVb4wiDSh31i4NfsVpCrTqitNViWqCxMvDDvhmsIAmGonIJoFyS/f2xm7gJITl7YbPxvB4zGfd8zuec81lf4b1nz57NJycSiSAiIl9v7Vp7ACIicvip2IuIhICKvYhICKjYi4iEgIq9iEgIqNiLiITAEUE6mdl3gcVAibvPabTux8D9QA3wmrvfF2svAfoDEeBmd1+ZzoGLiEhwLRZ7M+sMzAaWHqLLY8AIoBJYZmYvA8cBBe4+wMz6AM8AxekZsoiIJCrIZZy9wEhgc+MVZvZt4HN33+TutcCrwLDYTymAu68F8sysa9pGLSIiCWnxzN7dDwAHzKyp1fnA1rjlKqA30A0oj2vfEuu7E8DMOgJnAp8Qvfwjrac9cCKw0t33prIj5ZpV0pYrKNssknSuga7ZNyOnieVIM+11zgT+muKxJb1+BCxLcR/KNfukI1dQttkm4VxTLfaVRM/Y63Qn+sq/v1H7SUTP+ut8ArBgwQLy8+O7SaZVVVUxfvx4iGWSIuWaJdKca/1+lG3rSiXXlIq9u28ws65m1guoAEYB44lexrkXeNLMioDN7l4dt2kNQH5+Pj169EhlCJI+6XhrrlyzT7ouuSjb7JJwrkHuxjkDeAToBew3s3HAH4CP3H0RMAn4v1j3he6+DlhnZuVmVgbUApMTHZiIiKRPkA9oy4Gzm1n/DjCgifY7UxqZiIikjb5BKyISAir2IiIhoGIvIhICKvYiIiGgYi8iEgIq9iIiIaBiLyISAir2IiIhoGIvIhICKvYiIiGgYi8iEgIq9iIiIaBiLyISAir2IiIhoGIvIhICKvYiIiEQaFpCMysB+hOdNPxmd18Za+8OLIjr+m3gTmAv8ADRqQoB3nT3mekatIiIJCbItIRDgQJ3H2BmfYBngGIAd68kNouVmR0B/IXolIUXAXPc/dHDM2wREUlEkMs4w4BSAHdfC+SZWdcm+l0LvOzuu4DctI1QRERSFuQyTj5QHre8Jda2s1G/CcDw2OMuwEgzGwnkANPcfVWKYxURkSQFObPPaWI5Et9gZgOAf7l73QvAn4B73H048CvguVQHKiIiyQtS7CuJnsnXOQmoatRnFPBW3YK7r3D3P8ce/xU43szapzhWERFJUpBivwQYB2BmRcBmd69u1OdMoP4yjZndZWYXxR5/F9jq7jXpGbKIiCSqxWv27l5mZuVmVgbUApPN7Fpgh7svinU7EfhP3GbPAc+a2dTYMf4rvcMWEZFEBLrP3t3vbNS0qtH67zVa3kDslkwREWl9+gatiEgIqNiLiISAir2ISAio2IuIhICKvYhICKjYi4iEgIq9iEgIhLLYb9u2jXPPPZe77767vq2iooJbb72V4uJivve97zF27FiWLFmS9DFa2t+SJUvo27cvK1asSOm5SEOZyLZun5dccglmxjvvvNNg3dNPP83pp5/Ohx9+mNIx5CuZyHXNmjVMnDiRwYMHc8YZZ3DRRRdRWlpav76t5xq6Yl9bW8u0adPo3Lkz06dPB2DHjh1cccUVrF27lnvvvZfHH3+cwsJCpk6dmtQvT5D9DR8+nIsvvphbb72VLVu2pPU5hlUmsoXoC/WYMWPYvHlzk+uvu+46+vXrx5QpU9i9e3fSz0eiMpHrmjVruOyyy9i+fTv/8z//w+zZs+nZsyd33HEHL7zwAvA1yDUSiWT8p7CwsFdhYWFk06ZNkUwrLS2NFBYWRsrKyurbHnvssYiZRdatW1ffVltbG7n44osj5513XsLHCLq/6urqSL9+/SLTpk1L8tmkbtOmTZHCwsJIYWFhr0gbzjUSyUy2mzZtipx22mmRuXPnRl566aVIYWFh5O233z6o38cffxzp06dPpKSkJLknk6J05hoJwb/Zn/3sZ5F+/fpFdu7cWd9WU1MTGTlyZGTIkCH1bW0511Cd2dfU1DB37lyKiooYMGBAffubb76JmVFQUFDflpOTw09/+lM2btyIuyd0nKD769KlC9dccw2vvvpqm31rmC0ylW2HDh146qmnmDRpEjk5jf/691dOPvlkLrzwQubPn8/27dsTf0ICZC7Xyy+/nAceeIDc3K/mXWrXrh2FhYVs2bKF2tpaoG3nGqpiX15ezoYNGxg9enR924EDB/j3v//d4JemTl3bBx98EPgYie5vzJgx1NTUsHjx4sDHkINlIluA448/noEDBwbqO3r0aHbv3s0bb7yR0DHkK5nKdejQoZx77rkHtX/44YecfPLJtGv3Valsq7mGqti/++67AA3+se7cuZP9+/eTl5d3UP+6ts8//zzwMRLdX/fu3TnllFNYtmxZ4GPIwTKRbaKKioro1KlT/dgkca2Z68KFC3F3rrjiigbtbTXXUBX7NWvWkJubyymnnFLftnfvXiD69ryxI488EoAvv/wy8DGS2V/fvn354IMP6t8qSuIykW2iOnToQEFBAWvWrDlsx/i6a61c//SnPzFz5kwGDhzIVVdd1WBdW801VMV+27ZtB50NdOzYEYD9+/cf1H/fvn0AdOrUKfAxktlfXl4etbW17NixI/BxpKFMZJuMvLw8tm3bdliP8XXWGrm+9NJLTJkyhdNPP505c+ZwxBEH/yX4tphrqIr9rl27GnwAA/DNb36TDh06NPm279NPPwXguOOOC3yMZPbXtWtXAKqrG08AJkFlIttk5ObmsmfPHmpqNFFbMjKd67x585g+fTrnn38+8+bNo3Pnzk32a4u5Bpq8xMxKgP5EJxq/2d1Xxq37JxB/Sjre3Sub26a1dOnS5aCC2r59ewoKCpr89L6urW/fvoGPkcz+du7cWT8+SU4msk1GdXU1Rx11FO3bawrmZGQy1xdffJFHHnmE66+/np///OfN3m3VFnNt8czezIYCBe4+AJgAzGncx93PjvupDLJNazjUW6+f/OQnrFu3rsEn+LW1tbzyyiuceuqpfOtb30roOInub9u2bbRr146jjz46wWckdTKVbaKaugwhwWUq1zVr1nDvvfdy+eWXc8cddzRb6KFt5hrkMs4woBTA3dcCeWbWNW59bhLbtIq+fftSXV3Npk2bGrRfeeWV9OzZk6lTp/LGG2+wfPlybr/9dtavX8+dd341I2NlZSV9+vShpKSk2eME3V+dtWvXctpppzW4vUsSk6lst2zZwurVq1m9ejWVlZUAbNy4sb5t165d9X337dvH+vXrD/u7h6+zTOX661//mk6dOjFq1Kj6LON/vg65BrmMkw+Uxy1vibXtjC0fa2YLgF7An4G7AmzTKgYNGsSTTz5JWVkZl156aX37UUcdxXPPPceDDz7I3XffzRdffEGfPn2YN29egy9yRCIRampqiEQizR4n6P4A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\n",
      "text/plain": [
       "<Figure size 432x288 with 6 Axes>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# axes是一个2×3的数组，可以通过[row, col]进行索引访问\n",
    "for i in range(2):\n",
    "    for j in range(3):\n",
    "        ax[i, j].text(0.5, 0.5, str((i, j)),\n",
    "                      fontsize=18, ha='center')\n",
    "fig"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> In comparison to ``plt.subplot()``, ``plt.subplots()`` is more consistent with Python's conventional 0-based indexing.\n",
    "\n",
    "并且相对于`plt.subplot`，`plt.subplots()`更复合Python从0开始进行索引的习惯。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## ``plt.GridSpec``: More Complicated Arrangements\n",
    "\n",
    "## `plt.GridSpec`：更复杂的排列\n",
    "\n",
    "> To go beyond a regular grid to subplots that span multiple rows and columns, ``plt.GridSpec()`` is the best tool.\n",
    "The ``plt.GridSpec()`` object does not create a plot by itself; it is simply a convenient interface that is recognized by the ``plt.subplot()`` command.\n",
    "For example, a gridspec for a grid of two rows and three columns with some specified width and height space looks like this:\n",
    "\n",
    "当你需要子图表在网格中占据多行或多列时，`plt.GridSpec()`正是你所需要的。`plt.GridSpec()`对象并不自己创建图表；它只是一个可以被传递给`plt.subplot()`的参数。例如，一个两行三列并带有指定的宽度高度间隔的gridspec可以如下创建："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "grid = plt.GridSpec(2, 3, wspace=0.4, hspace=0.3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> From this we can specify subplot locations and extents using the familiary Python slicing syntax:\n",
    "\n",
    "使用这个对象我们可以指定子图表的位置和占据的网格，仅需要使用熟悉的Python切片语法即可："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplot(grid[0, 0])\n",
    "plt.subplot(grid[0, 1:])\n",
    "plt.subplot(grid[1, :2])\n",
    "plt.subplot(grid[1, 2]);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> This type of flexible grid alignment has a wide range of uses.\n",
    "I most often use it when creating multi-axes histogram plots like the ones shown here:\n",
    "\n",
    "这种灵活的网格对齐控制方式有着广泛的应用。作者经常在需要创建多个直方图的联合图表中使用这种方法，如下例："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 构建二维正态分布数据\n",
    "mean = [0, 0]\n",
    "cov = [[1, 1], [1, 2]]\n",
    "x, y = np.random.multivariate_normal(mean, cov, 3000).T\n",
    "\n",
    "# 使用GridSpec创建网格并加入子图表\n",
    "fig = plt.figure(figsize=(6, 6))\n",
    "grid = plt.GridSpec(4, 4, hspace=0.2, wspace=0.2)\n",
    "main_ax = fig.add_subplot(grid[:-1, 1:])\n",
    "y_hist = fig.add_subplot(grid[:-1, 0], xticklabels=[], sharey=main_ax)\n",
    "x_hist = fig.add_subplot(grid[-1, 1:], yticklabels=[], sharex=main_ax)\n",
    "\n",
    "# 在主图表中绘制散点图\n",
    "main_ax.plot(x, y, 'ok', markersize=3, alpha=0.2)\n",
    "\n",
    "# 分别在x轴和y轴方向绘制直方图\n",
    "x_hist.hist(x, 40, histtype='stepfilled',\n",
    "            orientation='vertical', color='gray')\n",
    "x_hist.invert_yaxis() # x轴方向（右下）直方图倒转y轴方向\n",
    "\n",
    "y_hist.hist(y, 40, histtype='stepfilled',\n",
    "            orientation='horizontal', color='gray')\n",
    "y_hist.invert_xaxis() # y轴方向（左上）直方图倒转x轴方向"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> This type of distribution plotted alongside its margins is common enough that it has its own plotting API in the Seaborn package; see [Visualization With Seaborn](04.14-Visualization-With-Seaborn.ipynb) for more details.\n",
    "\n",
    "这种沿着数据各自方向分布并绘制相应图表的需求是很通用的，因此在Seaborn包中它们有专门的API来实现；参见[使用Seaborn进行可视化](04.14-Visualization-With-Seaborn.ipynb)来学习更多内容。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<!--NAVIGATION-->\n",
    "< [自定义颜色条](04.07-Customizing-Colorbars.ipynb) | [目录](Index.ipynb) | [文本和标注](04.09-Text-and-Annotation.ipynb) >\n",
    "\n",
    "<a href=\"https://colab.research.google.com/github/wangyingsm/Python-Data-Science-Handbook/blob/master/notebooks/04.08-Multiple-Subplots.ipynb\"><img align=\"left\" src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open in Colab\" title=\"Open and Execute in Google Colaboratory\"></a>\n"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
